// 服务器配置模块
// 功能：定义服务器配置的结构体和相关函数，用于读取和管理服务器的配置信息。
#ifndef CONFIG_H
#define CONFIG_H

#define CONFIG_FILE "configs/server.conf" 
#define MAX_CLIENTS 6              // 定义服务器最大客户端连接数
#define BUFFER_SIZE 1024           // 定义缓冲区大小，用于读写数据
#define USER_DB_FILE "data/user_db.txt" // 定义用户数据库文件路径



// 服务器配置结构体
// 定义一个名为 ServerConfig 的结构体类型，用于存储服务器的配置信息
typedef struct {
    // 服务器监听的端口号
    int port;
    // 日志文件存储的目录路径
    char log_dir[256];
    // 日志文件的名称
    char log_file[256];
    // 服务器允许的最大客户端连接数
    int max_clients;
} ServerConfig;

// 函数声明
// 读取服务器配置文件，若文件不存在则使用默认配置
// config: 指向 ServerConfig 结构体的指针，用于存储读取到的配置信息
// 返回值: 读取成功返回 0，失败返回非 0 值
int read_server_config(ServerConfig *config);

// 结束头文件保护
#endif
